package com.rainbow.micro.example.service;

import com.github.pagehelper.PageInfo;
import com.rainbow.common.core.entity.Result;
import com.rainbow.micro.example.dto.req.RoleQueryReq;
import com.rainbow.micro.example.dto.req.RoleStoreReq;
import com.rainbow.micro.example.dto.resp.RoleResp;
import com.rainbow.micro.example.entity.RoleEntity;
import com.rainbow.support.mybatis.common.CommonService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;


/**
* role服务接口
* 
* @author rainbow
* 邮箱  1335157415@qq.com
* @date 2022-04-30 15:10:42
*/
public interface RoleService extends CommonService<RoleEntity>{

    /**
    * 分页查询
    * @param entity 参数
    * @return 查询结果
    */
    PageInfo<RoleResp> page(RoleQueryReq entity);

    /**
    * 保存数据
    * @param entity 参数
    * @return 保存结果
    */
    boolean save(RoleStoreReq entity);

    /**
    * 更新数据
    * @param entity 参数
    * @return 更新结果
    */
    boolean update(RoleStoreReq entity);

    /**
    * 逻辑删除
    * @param entity 参数
    * @return
    */
    boolean delete(RoleStoreReq entity);

    /**
     * 导入文件
     * @param file
     * @return
     */
    Result upload(MultipartFile file);

    /**
     * 导出excel
     * @param response
     * @param req
     * @return
     */
   Result export(HttpServletResponse response, @RequestBody RoleQueryReq req);


    /**
     * 上传txt文件
     * @param file
     * @return
     */
    Result uploadTxt(MultipartFile file);


}
